package com.kmxd.ams.app.convert;

import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.HashUtil;
import com.baomidou.mybatisplus.core.toolkit.SystemClock;
import com.kmxd.ams.core.exception.BizTipException;

import java.util.List;

/**
 * 文档转换基类
 *
 * @author ZuoLG
 */
public interface AbstractDocConvert {
  /**
   * 设置配置参数
   *
   * @param strs
   * @param fileType
   */
  public void setFileType(List<String> strs, String fileType);
  /**
   * 文档转换
   *
   * @param srcPath
   * @param pdfPath
   */
  public void docConvert(String srcPath, String pdfPath) throws Exception;

  /**
   * 获取文件页数
   *
   * @param srcPath
   */
  public int getFilePages(String srcPath);

  public default String getServeUrl(String url) {
    if (CharSequenceUtil.isBlank(url)) {
      throw BizTipException.instance("ocr地址不正确");
    }
    String[] split = url.split(";");
    if (split.length == 1) {
      return split[0];
    }
    try {
      int urlHashIndex = HashUtil.additiveHash(String.valueOf(SystemClock.now()), split.length);
      return split[urlHashIndex];
    } catch (Exception e) {
      e.printStackTrace();
      throw BizTipException.instance("ocr地址不正确");
    }
  }
}
